package org.bibpessoal.fachadas;

import java.util.ArrayList;
import java.util.List;

import org.bibpessoal.daos.LivroDAO;
import org.bibpessoal.daos.UsuarioDAO;
import org.bibpessoal.entidade.Emprestimo;
import org.bibpessoal.entidade.Livro;
import org.bibpessoal.entidade.Usuario;

public class FachadaBibPessoal {
	private static FachadaBibPessoal instancia;
	private UsuarioDAO usuarioDAO;
	private LivroDAO livroDAO;
	private FachadaBibPessoal() {
		super();
		usuarioDAO = new UsuarioDAO();
	    livroDAO = new LivroDAO();
	}
	
	public static FachadaBibPessoal getInstancia() {
		if (instancia == null) {
			instancia = new FachadaBibPessoal();
		}
		return instancia;
	}
	
	public Usuario autenticar(String login, String senha) {
		return usuarioDAO.autenticar(login, senha);
	}
	
	public boolean cadastraUsuario(Usuario novo) {
		return usuarioDAO.cadastraUsuario(novo);
	}
	
	public boolean CadastraLivro(Livro novolivro){
		return livroDAO.cadastraLivro(novolivro);
	}
	
	
	public ArrayList listarUsuariosCadastrados(Usuario usrlogado){
		return usuarioDAO.listarUsuariosCadastrados(usrlogado);
	}
	
	public List listarlivrosCadastrados(Usuario usr){
		return livroDAO.listarlivrosCadastrados(usr);
	}
	
	public List buscaLivro(Livro livro, int tipo_busca){
		return livroDAO.buscaLivro(livro, tipo_busca);
	}
	
	public boolean emprestimoLivro(Emprestimo emprestimo){
		return livroDAO.emprestimoLivro(emprestimo);
	}
	
}
